home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / ewl / ewl_radiobutton.h < prev    next >
C/C++ Source or Header  |  2006-01-09  |  2KB  |  72 lines

  1. #ifndef __EWL_RADIOBUTTON_H__
  2. #define __EWL_RADIOBUTTON_H__
  3.  
  4. /**
  5.  * @file ewl_radiobutton.h
  6.  * @defgroup Ewl_Radiobutton Radiobutton: A Radio Button Widget and Grouping System
  7.  * Provides for a simple radiobutton with label, and to group radio buttons
  8.  * for selecting a single option.
  9.  *
  10.  * @{
  11.  */
  12.  
  13. /**
  14.  * @themekey /radiobutton/file
  15.  * @themekey /radiobutton/group
  16.  */
  17.  
  18. /**
  19.  * The radio button provides a means for selecting a single item from a group
  20.  * of options.
  21.  */
  22. typedef struct Ewl_Radiobutton Ewl_Radiobutton;
  23.  
  24. /**
  25.  * @def EWL_RADIOBUTTON(button)
  26.  * Typecasts a pointer to an Ewl_Radiobutton pointer.
  27.  */
  28. #define EWL_RADIOBUTTON(button) ((Ewl_Radiobutton *) button)
  29.  
  30. /**
  31.  * Inherits from  Ewl_CheckButton and extends it to provide grouping buttons
  32.  * to limit to a single selection in a group at a given time.
  33.  */
  34. struct Ewl_Radiobutton
  35. {
  36.     Ewl_CheckButton   button; /**< Inherit from Ewl_CheckButton */
  37.     Ecore_List       *chain; /**< List of members of the group */
  38. };
  39.  
  40. Ewl_Widget     *ewl_radiobutton_new(void);
  41. int             ewl_radiobutton_init(Ewl_Radiobutton *cb);
  42.  
  43. void            ewl_radiobutton_chain_set(Ewl_Radiobutton *w, Ewl_Radiobutton *c);
  44.  
  45. /**
  46.  * @def ewl_radiobutton_checked_set(r, c)
  47.  * Shortcut for setting the checked status on the inherited Ewl_CheckButton
  48.  * fields.
  49.  */
  50. #define ewl_radiobutton_checked_set(r, c) \
  51.     ewl_checkbutton_checked_set(EWL_CHECKBUTTON(r), c)
  52.  
  53. /**
  54.  * @def ewl_radiobutton_is_checked(r)
  55.  * Shortcut for checking the checked status on the inherited Ewl_CheckButton
  56.  * fields.
  57.  */
  58. #define ewl_radiobutton_is_checked(r) \
  59.     ewl_checkbutton_is_checked(EWL_CHECKBUTTON(r))
  60.  
  61. /*
  62.  * Internally used callbacks, override at your own risk.
  63.  */
  64. void ewl_radiobutton_clicked_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  65. void ewl_radiobutton_destroy_cb(Ewl_Widget *w, void *ev_data, void *user_data);
  66.  
  67. /**
  68.  * @}
  69.  */
  70.  
  71. #endif                /* __EWL_RADIOBUTTON_H__ */
  72.